Mid Station

GitHub 简易装逼小记

最近思维有点混乱,得强迫自己写点什么东西来理顺一下思维。自从上了大学,除了话变少了,码字好像也越来越不顺手了,经常表达不出自己的想法。这可不行,想当初老子语文考试写作文哄骗老师的能力还是有那么一点厉害的。写点什么好呢,就随便写写最近在GitHub上混的事情好了。

GitHub的大名我是早就听说过了,被誉为是广大码农的救赎,从此以敲代码为生的广大互联网工作者就走上了以代码结交损友的不归路。各大开源项目纷纷在GitHub拉起大旗,招兵买马,霸占山头,企图借助这一神奇的社区做大做强。而我对于GitHub的认识在很长一段时间仅仅停留在git clone这一命令上,因为很多神器都是依托GitHub来发布的,更不用说各种乱七八糟的依赖包,万一系统源中没有收录,git clone往往是值得信赖的灵丹妙药。

如果你只打算通过GitHub安装开源软件或者纯粹读读大牛们写的代码,一条git clone加上浏览器足矣。但是,年轻人,看着有些写得那么烂的代码,你就没有一种想死磕对面程序员,通过自己动手修改代码拯救整个开源项目的冲动吗?看着有些写得这么好的代码,你就没有一种想认识对面程序员互相切磋切磋的冲动?或者是你有一个惊天动地的idea,想让世界各地的程序员来帮助你完成这个idea,把它的光辉照耀到世界的每一处角落。如果你有上述的任何症状,这时你就需要一个叫做git的东西来帮你打开新世界的大门。

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

说白了就是记录每一次代码更改,可以随时切换开发中软件版本的工具。上面说的git clone命令正是其中的一个功能。这里推荐一个教程,花点时间读完还是值得的:Git教程 By廖雪峰

接下来就说说拿GitHub装逼的事吧。首先你要有一个GitHub的账号,起个nice一点的昵称,传个讲公德心的头像。登陆后浏览每个项目时候右上角有三个图标WatchStarFork

Watch 表示关注项目,点击后当项目有更新时候会推送到个人页面
Star 表示收藏,相当于收藏夹
Fork 表示参与,点击后在自己的账号下会出现当前项目的镜像,修改仓库中的镜像后可以提交Pull Request请求合并代码

如果你有想要为某个项目做点贡献,基本步骤就是Fork项目,git clone自己的镜像仓库到本地,git branch新建分支(第一次PR忽略了这点,一般还是新建一个代码分支在修改代码会比较方便)。然后就可以在本地放心的修改代码啦,完成后在git push把更新代码推送到自己的镜像仓库,点击Pull Request 填好后,项目负责人就会收到请求,如果没有问题就会把你的代码整合到项目当中。

听起来是不是有点复杂?动手做一遍就好了,廖哥的教程中已经有了详细的步骤并提供了一个项目给大家练习操作。

当然,你还可以像我一样利用GitHub Page搭建一个页面,关键是免费,速度还可以。
GitHub Pages
适用的博客程序包括有JekyllHexo

GitHub UniverseGitHub Universe

最后谈谈GitHub的适用范围吧,作为一个CS专业的学生,我觉得能够熟练运用GitHub学习和解决问题已经不算什么加分点,而是必备技能。可能是国内开源的氛围还不是很成熟,也可能是同学们还没放下用英文交流的心理包袱,至少从我了解的情况来看,GitHub在国内学科发展中还没能发挥到它应有的作用。个人认为CS专业与其他专业相比一个最大的优势就是实践的成本特别的低,低到只需要一台电脑,可以这样说,只要有心,没有什么可以束缚住你前进的脚步。而GitHub正是提供了一个这样的实践平台,经常有人抱怨国内课程设置落后,学校教的东西出来工作以后用不上,而GitHub不就正是与国际接轨的平台?

相反的,还有些人就是太相信GitHub了,相信通过一次次commit就可以改变自己的履历,甚至直接把GitHub上的功绩和薪水岗位联系在一起。像这个知乎问题:

应届生的 github 里应该有什么?
排名的一的答案曰:** 我觉得你把Github想的太功利了。。 **

我承认时间很宝贵,尤其是大学生的时间,但是我们有时候就是太急功近利了,所以才错过很多热爱。